home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / hack / 2_3 / newstuff / bugfix3 < prev    next >
Encoding:
Internet Message Format  |  1993-06-20  |  11.4 KB

  1. Path: tekred!tekgen!tektronix!uunet!wucs1!wucs2!sw1e!tness1!tness7!bellcore!jcricket!raj
  2. From: raj@jcricket.ctt.bellcore.com (Randy Jackson)
  3. Newsgroups: comp.sources.games.bugs
  4. Subject: Nethack 2.3 Blindfold bug
  5. Summary: Fix for Nymph stealing blindfold
  6. Message-ID: <7279@bellcore.bellcore.com>
  7. Date: 10 May 88 13:20:20 GMT
  8. Sender: news@bellcore.bellcore.com
  9. Reply-To: raj@jcricket.UUCP (Randy Jackson)
  10. Distribution: comp.sources.games.bugs
  11. Organization: Computer Technology Transfer, Bellcore
  12. Lines: 67
  13.  
  14.  
  15.     The following diffs will fix the bug where the nymph steals your
  16.     blindfold while you are wearing it and you are left blind. The patch
  17.     should be applied to the 2.3 source for steal.c.
  18.  
  19. -------------------------------------cut here--------------------------------------------
  20.  
  21. *** steal.c.orig    Fri May  6 16:55:34 1988
  22. --- steal.c    Fri May  6 17:16:43 1988
  23. ***************
  24. *** 86,104 ****
  25.           impossible("Steal fails!");
  26.           return(0);
  27.       }
  28.       if(otmp->o_id == stealoid)
  29.           return(0);
  30. !     if((otmp->owornmask & (W_ARMOR | W_RING))){
  31.           switch(otmp->olet) {
  32.           case RING_SYM:
  33.               ringoff(otmp);
  34.               break;
  35.           case ARMOR_SYM:
  36.               if(multi < 0 || otmp == uarms){
  37.                 setworn((struct obj *) 0, otmp->owornmask & W_ARMOR);
  38.                 break;
  39.               }
  40.           { int curssv = otmp->cursed;
  41.               otmp->cursed = 0;
  42.               stop_occupation();
  43.               if(flags.female)
  44. --- 86,114 ----
  45.           impossible("Steal fails!");
  46.           return(0);
  47.       }
  48.       if(otmp->o_id == stealoid)
  49.           return(0);
  50. !     if((otmp->owornmask & (W_ARMOR | W_RING | W_TOOL))){
  51.           switch(otmp->olet) {
  52.           case RING_SYM:
  53.               ringoff(otmp);
  54.               break;
  55.           case ARMOR_SYM:
  56.               if(multi < 0 || otmp == uarms){
  57.                 setworn((struct obj *) 0, otmp->owornmask & W_ARMOR);
  58.                 break;
  59. +             }
  60. +         case TOOL_SYM:
  61. +             if(otmp->otyp == BLINDFOLD){
  62. +                 Blindfolded = 0;
  63. +                 if(!Blinded) Blinded = 1;
  64. +                 break;
  65. +             }
  66. +             else if(otmp->otyp == BADGE){
  67. +                 Badged = 0;
  68. +                 break;
  69.               }
  70.           { int curssv = otmp->cursed;
  71.               otmp->cursed = 0;
  72.               stop_occupation();
  73.               if(flags.female)
  74.  
  75.  
  76. -------------------------------------cut here--------------------------------------------
  77.  
  78. ************************************************************************************
  79. * Randy A Jackson         Bellcore         raj@ctt!bellcore.com                    *
  80. ************************************************************************************
  81.  
  82.  
  83. Path: tekred!tekgen!tektronix!uunet!husc6!bloom-beacon!mit-eddie!uw-beaver!cornell!gil
  84. From: gil@svax.cs.cornell.edu (Gil Neiger)
  85. Newsgroups: comp.sources.games.bugs,rec.games.hack
  86. Subject: Empty Hives
  87. Message-ID: <17395@cornell.UUCP>
  88. Date: 18 May 88 16:35:03 GMT
  89. Sender: nobody@cornell.UUCP
  90. Reply-To: gil@cs.cornell.edu (Gil Neiger)
  91. Distribution: comp
  92. Organization: Cornell Univ. CS Dept, Ithaca NY
  93. Lines: 10
  94. Xref: tekred comp.sources.games.bugs:166 rec.games.hack:2757
  95.  
  96. Nethack is currently set up to create beehives whether or not killer
  97. bees have been genocided.  This seems to make genociding bees too much
  98. of a win; you find hives full of jelly, but no bees.  The following fix
  99. to mklev.c takes care of this.  Change line 207 (nethack 2.3) from
  100.  
  101.      if(dlevel > 9 && !rn2(5)) mkroom(BEEHIVE);
  102. to
  103.      if(dlevel > 9 && !rn2(5) && !index(fut_geno,'k')) mkroom(BEEHIVE);
  104.     
  105.                     - Gil Neiger
  106.  
  107.  
  108. Path: tekred!tekgen!tektronix!uunet!mcvax!inria!axis!jcc
  109. From: jcc@axis.fr (Jean-Christophe Collet)
  110. Newsgroups: rec.games.hack,comp.sources.games.bugs
  111. Subject: Two Nethack 2.3 minor bugs fixed
  112. Message-ID: <378@axis.fr>
  113. Date: 20 May 88 15:31:57 GMT
  114. Organization: Axis Digital, Paris
  115. Lines: 68
  116. Xref: tekred rec.games.hack:2768 comp.sources.games.bugs:169
  117.  
  118.  
  119. Hi folks,
  120.  
  121. Me again, with two minor bugs fixed :
  122.  
  123.     1) I succeeded in getting the folowing inventory :
  124.  
  125.         Armors
  126.         a - a +0 elven cloak (being worn)
  127.         x - a cursed +0 elven cloak (being worn)
  128.         ...
  129.     When you only wear an elven cloak, you can wear another one on top
  130.     of the first ( One for the front & one for the back :-) )
  131.     Here is the fix :
  132.     
  133.         
  134. do_wear.c : line 183 in doweararm()
  135. was :
  136.         if(uarm) {
  137.             if(otmp->otyp != ELVEN_CLOAK || uarm2) {
  138.                 pline("You are already wearing some armor.");
  139.                 err++;
  140.             }
  141.         }
  142. modify it to :
  143.         if(uarm) {
  144. !            if(otmp->otyp != ELVEN_CLOAK || 
  145. +                uarm->otyp == ELVEN_CLOAK || uarm2) {
  146.                 pline("You are already wearing some armor.");
  147.                 err++;
  148.             }
  149.         }
  150.  
  151.     2) Sometimes, here, our Archeologist (Ninja...) starts with 3 pick-axes
  152.        or 2 large boxes (3 blindfolds) etc...
  153.        It comes from the GRENADES code which, in mkobj.c, forces the
  154.        quantity to be different from 1 and in ini_inv (from u_init.c)
  155.        the exact nature (obj->otyp) of the generated object is set after
  156.        mkobj has been called...
  157.  
  158.        so here is a possible fix :
  159.  
  160. in u_init.c, line 549 (here, probably different anywhere else) in ini_inv()
  161. was :
  162.         if(obj->olet == WEAPON_SYM){
  163.             obj->quan = trop->trquan;
  164.             trop->trquan = 1;
  165.         }
  166. modify it to :
  167.         if(obj->olet == WEAPON_SYM){
  168.             obj->quan = trop->trquan;
  169.             trop->trquan = 1;
  170. !        } else
  171. +            obj->quan  = 1;
  172.  
  173. Happy hacking
  174. jcc
  175.  
  176. -------------------------------------------------------------------------------
  177. jcc@axis.fr             ! "An artificial intelligence is better than none !"
  178. ..!mcvax!inria!axis!jcc ! "Artificial intelligence matches natural stupidity !"
  179. Collet jean-christophe  ! "Objets inanimes avez vous donc une ame ?"
  180. -------------------------------------------------------------------------------
  181.     Axis Digital        |
  182.     135 rue d'aguesseau |       <this space left intentionaly blank>
  183.     92100 Boulogne      |
  184.     France              |
  185. -------------------------------------------------------------------------------
  186.  
  187.  
  188. Path: tekred!tekgen!tektronix!uunet!husc6!bloom-beacon!bu-cs!purdue!decwrl!hplabs!sdcrdcf!trwrb!ucla-an!remsit!stb!michael
  189. From: michael@stb.UUCP (Michael)
  190. Newsgroups: comp.sources.games.bugs
  191. Subject: nethack #ifdef: u_init.c, MARKER
  192. Message-ID: <10310@stb.UUCP>
  193. Date: 19 May 88 19:57:08 GMT
  194. Reply-To: michael@stb.UUCP (Michael)
  195. Organization: STB BBS, La, Ca, Usa, +1 213 459 7231
  196. Lines: 9
  197.  
  198. File u_init.c, line 451 has an if
  199. staement inside a #ifdef MARKER, with its "else" after the #endif
  200.             Michael
  201. : --- 
  202. : Michael Gersten             uunet.uu.net!denwa!stb!michael
  203. :                 ihnp4!hermix!ucla-an!denwa!stb!michael
  204. :                sdcsvax!crash!gryphon!denwa!stb!michael
  205. : "Machine Takeover? Just say no."
  206. : "Sockets? Just say no."     <-- gasoline
  207.  
  208.  
  209. Path: tekred!tekgen!tektronix!uunet!husc6!mailrus!tut.cis.ohio-state.edu!bloom-beacon!bu-cs!purdue!decwrl!hplabs!sdcrdcf!trwrb!ucla-an!remsit!stb!michael
  210. From: michael@stb.UUCP (Michael)
  211. Newsgroups: comp.sources.games.bugs
  212. Subject: Nethack: do_wear.c is missing 2 #ifdef SHIRT's.
  213. Message-ID: <10305@stb.UUCP>
  214. Date: 19 May 88 16:37:53 GMT
  215. Reply-To: michael@stb.UUCP (Michael)
  216. Organization: STB BBS, La, Ca, Usa, +1 213 459 7231
  217. Lines: 9
  218.  
  219. Subject says it all. In two places, uarmu is used without any #ifdef SHIRT
  220. around them.
  221.             Michael
  222. : --- 
  223. : Michael Gersten             uunet.uu.net!denwa!stb!michael
  224. :                 ihnp4!hermix!ucla-an!denwa!stb!michael
  225. :                sdcsvax!crash!gryphon!denwa!stb!michael
  226. : "Machine Takeover? Just say no."
  227. : "Sockets? Just say no."     <-- gasoline
  228.  
  229.  
  230. Path: tekred!tekgen!tektronix!uunet!husc6!bloom-beacon!mit-eddie!bu-cs!purdue!decwrl!hplabs!ucbvax!tully.Berkeley.EDU!mcgrath
  231. From: mcgrath@tully.Berkeley.EDU.berkeley.edu (Roland McGrath)
  232. Newsgroups: rec.games.hack,comp.sources.games.bugs
  233. Subject: Re: Two Nethack 2.3 minor bugs fixed
  234. Message-ID: <24191@ucbvax.BERKELEY.EDU>
  235. Date: 21 May 88 06:04:59 GMT
  236. References: <378@axis.fr>
  237. Sender: usenet@ucbvax.BERKELEY.EDU
  238. Reply-To: roland@wheaties.ai.mit.edu (Roland McGrath)
  239. Organization: Hackers Anonymous International, Ltd., Inc. (Applications welcome)
  240. Lines: 1
  241. Xref: tekred rec.games.hack:2775 comp.sources.games.bugs:172
  242.  
  243. The first of these is not a bug.  Leave it alone.
  244.  
  245.  
  246. Path: tekred!tekgen!tektronix!uunet!husc6!bloom-beacon!mit-eddie!bu-cs!purdue!decwrl!hplabs!sdcrdcf!trwrb!ucla-an!remsit!stb!michael
  247. From: michael@stb.UUCP (Michael)
  248. Newsgroups: comp.sources.games.bugs
  249. Subject: YANHMD (yet another NetHack Mis-Define)
  250. Message-ID: <10316@stb.UUCP>
  251. Date: 20 May 88 17:08:05 GMT
  252. Reply-To: michael@stb.UUCP (Michael)
  253. Organization: STB BBS, La, Ca, Usa, +1 213 459 7231
  254. Lines: 17
  255.  
  256. worn.c, line 15, uarmu is used without any #ifdef SHIRT in sight.
  257.  
  258. u_init.c, IS_MAGIC macro uses SPBOOK_SYM without checking for spells
  259.  
  260. Routines docast(), dovspell(), doxcribe(), dryup(), let_to_name() are
  261. referenced without checking for spells, fountains, or SORTING as needed.
  262. (files: mon.c, invent.c, o_init.c)
  263.  
  264. Also, is let_to_name supposed to be dependent on DGKMOD or on SORTING?
  265. (both are used, in o_init.c and in invent.c)
  266. (I assume SORTING)
  267. : --- 
  268. : Michael Gersten             uunet.uu.net!denwa!stb!michael
  269. :                 ihnp4!hermix!ucla-an!denwa!stb!michael
  270. :                sdcsvax!crash!gryphon!denwa!stb!michael
  271. : "Machine Takeover? Just say no."
  272. : "Sockets? Just say no."     <-- gasoline
  273.  
  274.  
  275. Path: tekred!tekgen!tektronix!uunet!munnari!mulga!mwp
  276. From: mwp@mulga.oz (Michael Paddon)
  277. Newsgroups: comp.sources.games.bugs
  278. Subject: NetHack2.3 bugs + patches
  279. Keywords: nethack, bugs, patches
  280. Message-ID: <2786@mulga.oz>
  281. Date: 24 May 88 06:35:54 GMT
  282. Organization: Comp Sci, Melbourne Uni, Australia
  283. Lines: 90
  284.  
  285.  
  286. Patch #1
  287. ========
  288.  
  289. There is a serious bug in NetHack which allows players to get almost
  290. infinite scores (billions of points) with ease. Credit for finding
  291. this goes to one of our local NetHack devotees -- Stuart McCormack.
  292.  
  293. It seems that when demons try to blackmail you, a negative amount of
  294. gold can be specified as a peace offering. The demon gets mad and
  295. the player gets rich. To do this properly, one must then teleport to
  296. level 0 -- billions of gold pieces will cause even the strongest
  297. player to collapse.
  298.  
  299. This fix (to mhitu.c) will make this tatic obsolete.
  300.  
  301.  
  302. Patch #2
  303. ========
  304.  
  305. The second fix in this posting (to zap.c) addresses a "feature"
  306. which many people here found annoying. Dragons which breathe death
  307. rays can appear around level 8 upwards, and are inevitably deadly at
  308. that stage. In the interests of game playability this fix implements
  309. a saving throw versus experience level and luck when the player
  310. is hit by a death ray (any death ray due the the method of implementing
  311. breath weapons).
  312.  
  313.  
  314. Request
  315. =======
  316.  
  317. It is extremely annoying to die whilw reading a spell book.
  318. Would it not be better to allow the player to react and have
  319. the transcribe fail? Has anyone implemented this?
  320.  
  321.  
  322.                     Michael Paddon
  323.                     ==============
  324.  
  325.  
  326. *** mhitu.c.orig    Mon May 23 19:30:57 1988
  327. --- mhitu.c    Tue May 24 11:55:16 1988
  328. ***************
  329. *** 552,558
  330.           getlin(buf);
  331.           sscanf(buf, "%d", &offer);
  332.   
  333. !         if(offer >= u.ugold) {
  334.           pline("You give %s all your gold.", xmonnam(mtmp, 0));
  335.           offer = u.ugold;
  336.           } else pline("You give %s %d Zorkmids.", xmonnam(mtmp, 0), offer);
  337.  
  338. --- 552,562 -----
  339.           getlin(buf);
  340.           sscanf(buf, "%d", &offer);
  341.   
  342. !         if(offer < 0) {
  343. !         pline("You try to short change %s, but fumble.", xmonnam(mtmp, 0));
  344. !         offer = 0;
  345. !         }
  346. !         else if(offer >= u.ugold) {
  347.           pline("You give %s all your gold.", xmonnam(mtmp, 0));
  348.           offer = u.ugold;
  349.           } else pline("You give %s %d Zorkmids.", xmonnam(mtmp, 0), offer);
  350.  
  351.  
  352. *** zap.c.orig    Tue May 24 11:56:42 1988
  353. --- zap.c    Tue May 24 11:56:55 1988
  354. ***************
  355. *** 862,868
  356.                           freeze_potions();
  357.                       break;
  358.                   case 4:        /* death */
  359. !                     u.uhp = -1;
  360.                       break;
  361.                   case 5:        /* lightning */
  362.                       if(Shock_resistance)
  363.  
  364. --- 862,871 -----
  365.                           freeze_potions();
  366.                       break;
  367.                   case 4:        /* death */
  368. !                     if (u.ulevel+u.uluck > rn2(2*LUCKMAX))
  369. !                         dam = (u.uhp*2)/3;
  370. !                     else
  371. !                         u.uhp = -1;
  372.                       break;
  373.                   case 5:        /* lightning */
  374.                       if(Shock_resistance)
  375.  
  376.  
  377.